package com.ruoyi.system.service;

import java.util.Date;
import java.util.List;
import com.ruoyi.system.domain.GfOrders;

/**
 * 订单信息Service接口
 * 
 * @author ruoyi
 * @date 2022-06-16
 */
public interface IGfOrdersService 
{
    /**
     * 查询订单信息
     * 
     * @param orderId 订单信息主键
     * @return 订单信息
     */
    public GfOrders selectGfOrdersByOrderId(Long orderId);

    /**
     * 查询订单信息列表
     * 
     * @param gfOrders 订单信息
     * @return 订单信息集合
     */
    public List<GfOrders> selectGfOrdersList(GfOrders gfOrders);

    /**
     * 新增订单信息
     * 
     * @param gfOrders 订单信息
     * @return 结果
     */
    public int insertGfOrders(GfOrders gfOrders);

    /**
     * 修改订单信息
     * 
     * @param gfOrders 订单信息
     * @return 结果
     */
    public int updateGfOrders(GfOrders gfOrders);

    /**
     * 批量删除订单信息
     * 
     * @param orderIds 需要删除的订单信息主键集合
     * @return 结果
     */
    public int deleteGfOrdersByOrderIds(Long[] orderIds);

    /**
     * 删除订单信息信息
     * 
     * @param orderId 订单信息主键
     * @return 结果
     */
    public int deleteGfOrdersByOrderId(Long orderId);

    /**
     * 判断火车座位冲突:::
     *  根据  发车日期,火车id,座位编号,查询是否有  状态 in ("1", "未支付  "2", "已支付) 的车票,
     *  如果有的话,就说明别人或自己已经买了当天的票,就不能再卖给别人了啦啦啦
     *  @param orderStartTime
     * @param trainId
     * @param seatNum
     * @return
     */
    boolean haveDuplicateEnableOrder(Date orderStartTime, String trainId, String seatNum);
}
